﻿using System;

namespace OperationPlugins.Mvc
{
    /// <summary>
    /// ASP.NET MVC framework action method moments.
    /// </summary>
    [Flags]
    public enum ActionMethodMoment
    {
        /// <summary>
        /// Called by the ASP.NET MVC framework before the action method executes.
        /// </summary>
        OnActionExecuting = 1,

        /// <summary>
        /// Called by the ASP.NET MVC framework after the action method executes.
        /// </summary>
        OnActionExecuted = 2,

        /// <summary>
        /// Called by the ASP.NET MVC framework before the action result executes.
        /// </summary>
        OnResultExecuting = 4,

        /// <summary>
        /// Called by the ASP.NET MVC framework after the action result executes.
        /// </summary>
        OnResultExecuted = 8
    }
}
